package com.shenjinzheng.dk.recipe.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 菜谱表
 * </p>
 *
 * @author shenjinzheng
 * @since 2025-01-19
 */
@Data
public class Recipe implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 菜谱id
     */
    private String id;

    /**
     * 菜谱封面图url
     */
    private String coverUrl;

    /**
     * 菜谱标题，不能为空
     */
    private String title;

    /**
     * 菜谱描述
     */
    private String description;

    /**
     * 食材编号列表（JSON格式），不能为空
     */
    private List<String> ingredientsId;

    /**
     * 烹饪步骤编号（JSON格式），不能为空
     */
    private String stepsId;

    /**
     * 菜谱图片URL
     */
    private String imageUrl;

    /**
     * 菜谱视频URL
     */
    private String videoUrl;

    /**
     * 用户ID，关联用户表，不能为空
     */
    private Integer userId;

    /**
     * 创建时间，默认当前时间
     */
    private Date createdAt;

    /**
     * 更新时间，默认当前时间并自动更新
     */
    private Date updatedAt;

    @Override
    public String toString() {
        return "Recipe{" +
                "id='" + id + '\'' +
                ", coverUrl='" + coverUrl + '\'' +
                ", title='" + title + '\'' +
                ", description='" + description + '\'' +
                ", ingredientsId=" + ingredientsId +
                ", stepsId='" + stepsId + '\'' +
                ", imageUrl='" + imageUrl + '\'' +
                ", videoUrl='" + videoUrl + '\'' +
                ", userId=" + userId +
                ", createdAt=" + createdAt +
                ", updatedAt=" + updatedAt +
                '}';
    }
}
